Injeccion de servicios

Usar servicio injectado dentro de callback

En este código estamos pasando errorHandler como referencía de está manera cuando se llama a notifi dentro de la función obtendremos un error de que notifi es undefined ya que al llamarse la función por referencia el contexto de la clase ya no existe.

Para solucionar este problema tendríamos que cambiar el código de la siguiente manera:

En vez de pasar una referencia de la función errorHandler llamamos directamente a la función:

error => this.errorHandler(error)
Injectar servicios en clases que no son componentes

Cuando tenemos una clase propia (ni componente, ni servicio de Angular...), y queremos injectar un servicio dentro de dichar clase tendremos que hacerlo asi:

A traves del constructor

En este caso tenemos una clase ShiftParser, dentro de dicha clase queremos injectar TranslateService:

Para inyectar un servicio a traves del constructor lo hacemos asi:

A traves de injector

Con la clase Injector sería así:

Tags

Injection | Servicios | Troubleshooting